From 8efee444866b6320cb3aaaf185cafd35d4e73a4f Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Wed, 11 May 2005 08:05:14 +0000 Subject: [PATCH] bitkeeper revision 1.1389.15.8 (4281bcbaUAXd-mXY9bU_xjLtHjFVJg) Xen parses IOAPIC entries in the ACPI MADT. Signed-off-by: Keir Fraser --- xen/arch/x86/acpi/boot.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/xen/arch/x86/acpi/boot.c b/xen/arch/x86/acpi/boot.c index 7237d5e7e2..c8525bce64 100644 --- a/xen/arch/x86/acpi/boot.c +++ b/xen/arch/x86/acpi/boot.c @@ -37,7 +37,9 @@ #include #include -int sbf_port; /* XXX XEN */ +int sbf_port; +#define end_pfn_map max_page +#define CONFIG_ACPI_PCI #ifdef CONFIG_X86_64 @@ -109,7 +111,7 @@ char *__acpi_map_table(unsigned long phys_addr, unsigned long size) if (!phys_addr || !size) return NULL; - if (phys_addr < (max_page << PAGE_SHIFT)) + if (phys_addr < (end_pfn_map << PAGE_SHIFT)) return __va(phys_addr); return NULL; @@ -279,7 +281,7 @@ acpi_parse_lapic_nmi ( #endif /*CONFIG_X86_LOCAL_APIC*/ -#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER) +#if defined(CONFIG_X86_IO_APIC) /*&& defined(CONFIG_ACPI_INTERPRETER)*/ static int __init acpi_parse_ioapic ( @@ -302,6 +304,7 @@ acpi_parse_ioapic ( return 0; } +#ifdef CONFIG_ACPI_INTERPRETER /* * Parse Interrupt Source Override for the ACPI SCI */ @@ -335,6 +338,7 @@ acpi_sci_ioapic_setup(u32 gsi, u16 polarity, u16 trigger) acpi_sci_override_gsi = gsi; return; } +#endif static int __init acpi_parse_int_src_ovr ( @@ -349,11 +353,13 @@ acpi_parse_int_src_ovr ( acpi_table_print_madt_entry(header); +#ifdef CONFIG_ACPI_INTERPRETER if (intsrc->bus_irq == acpi_fadt.sci_int) { acpi_sci_ioapic_setup(intsrc->global_irq, intsrc->flags.polarity, intsrc->flags.trigger); return 0; } +#endif if (acpi_skip_timer_override && intsrc->bus_irq == 0 && intsrc->global_irq == 2) { @@ -698,7 +704,7 @@ acpi_parse_madt_lapic_entries(void) } #endif /* CONFIG_X86_LOCAL_APIC */ -#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI_INTERPRETER) +#if defined(CONFIG_X86_IO_APIC) /*&& defined(CONFIG_ACPI_INTERPRETER)*/ /* * Parse IOAPIC related entries in MADT * returns 0 on success, < 0 on error @@ -744,12 +750,14 @@ acpi_parse_madt_ioapic_entries(void) return count; } +#ifdef CONFIG_ACPI_INTERPRETER /* * If BIOS did not supply an INT_SRC_OVR for the SCI * pretend we got one so we can set the SCI flags. */ if (!acpi_sci_override_gsi) acpi_sci_ioapic_setup(acpi_fadt.sci_int, 0, 0); +#endif /* Fill in identity legacy mapings where no override */ mp_config_acpi_legacy_irqs(); @@ -856,10 +864,6 @@ acpi_boot_table_init(void) return error; } -#if 0 /*def __i386__*/ - check_acpi_pci(); -#endif - acpi_table_parse(ACPI_BOOT, acpi_parse_sbf); /* -- 2.30.2